#ifndef _CONNECTION_H_
#define _CONNECTION_H_

#include <string>
#include <list>
#include <map>
#include <vector>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
using namespace std;

class ConnectionManager
{
private:
  vector<int> sockets;
  struct conn_info {
    int socket;
    string remote_ip;
    int remote_port;
    string protocol;
    int addr_family;
    int sock_type;
  } conn_metadata;
  int socket;
public:
  struct conn_info {
    int socket;
    string remote_ip;
    int remote_port;
    string protocol;
    int addr_family;
    int sock_type;
  } conn_metadata;
  ConnectionManager();
  ~ConnectionManager();
  int create_connection(string ip_addr, int port);
  int create_connection(string protocol, strin ip_addr, int port);
};
#endif
